/**
 * Created by Administrator on 2016/11/18.
 */
var mongo = require('./db');

function Post(name,title,post,txname) {
    //发布人
    this.name = name;
    this.title = title;
    this.post = post;
    this.txname = txname;
}

module.exports = Post;
//保存文章
Post.prototype.save = function (callback) {
    var date = new Date();
    //保存当前时间的各种格式
    var time = {
        date:date,
        year:date.getFullYear(),
        month:date.getFullYear() + '-' + (date.getMonth()+1),
        day:date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate(),
        minute:date.getFullYear() + '-' + (date.getMonth()+1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + (date.getMinutes()<10 ? '0' + date.getMinutes() : date.getMinutes()),

    }
    //
    var post = {
        name:this.name,
        time:time,
        title:this.title,
        post:this.post,
        txname:this.txname
    }
    //接下来就是常规的打开数据库->读取
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('posts',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            collection.insert(post,{safe:true},function (err) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                //如果没有错的情况下，不给错误提示
                callback(null);
            })
        })
    })
}
//获取文章
Post.get = function (name,callback) {
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('posts',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            var query = {};
            if(name){
                query.name = name;
            }
            //查询
            collection.find(query).sort({
                time:-1
            }).toArray(function (err,docs) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                callback(null,docs);//返回查询的文档数据，(数组形式)
            })
        })
    })
}
//精确获得文章
Post.getIndex = function (title,callback) {
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('posts',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            var query = {};
            if(name){
                query.title = title;
            }
            //查询
            collection.find(query).sort({
                time:-1
            }).toArray(function (err,docs) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                callback(null,docs);//返回查询的文档数据，(数组形式)
            })
        })
    })
}
Post.getAll = function (callback) {
    mongo.open(function (err,db) {
        if(err){
            return callback(err);
        }
        db.collection('posts',function (err,collection) {
            if(err){
                mongo.close();
                return callback(err);
            }
            //查询
            collection.find().sort({
                time:-1
            }).toArray(function (err,docs) {
                mongo.close();
                if(err){
                    return callback(err);
                }
                callback(null,docs);//返回查询的文档数据，(数组形式)
            })
        })
    })
}